// 把数字 n 可能的拆分位多个因子 3，余数可能位 1 2 3 三种情况
// 若余数为 2，则保留，不再拆分为 1 + 1
// 若余数为 1，，则应把一份 3 + 1 替换成 2 + 2

var integerBreak = function (n) {
  if (n <= 3) return n - 1;
  let a = n / 3,
      b = n % 3;
  if (b == 0) return Math.pow(3, a);
  if (b == 1) return Math.pow(3, a - 1) * 4;
  return Math.pow(3, a) * 2;
}